package com.inei.model.dao;

import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.inei.model.connection.UtilDB;
import com.inei.model.entity.RespuestaCensoWeb;

public class RespuestaCensoWebDao implements ICRUD<RespuestaCensoWeb> {

	// variables
	private UtilDB util;
	private SQLiteDatabase db;
	private Cursor cursor = null;
	private Context context;

	public RespuestaCensoWebDao(Context context) {
		this.context = context;
		util = new UtilDB(context);
	}

	@Override
	public RespuestaCensoWeb buscar(RespuestaCensoWeb o) {
		RespuestaCensoWeb obj = null;
		db = util.getReadableDatabase();
		cursor = db
				.rawQuery(
						"select * from RespuestaCensoWeb where rpta_web_id=? and respuesta_id=?",
						new String[] { o.getRpta_web_id() + "",
								o.getRespuesta_id() + "" });
		if (cursor.moveToFirst()) {
			obj = new RespuestaCensoWeb();
			obj.setRespuesta_id(cursor.getInt(cursor
					.getColumnIndex("respuesta_id")));
			obj.setRpta_web_id(cursor.getInt(cursor
					.getColumnIndex("rpta_web_id")));
			obj.setW_1(cursor.getString(cursor.getColumnIndex("W_1")));
			obj.setW_IH(cursor.getString(cursor.getColumnIndex("W_IH")));
			obj.setW_IM(cursor.getString(cursor.getColumnIndex("W_IM")));
			obj.setW_FH(cursor.getString(cursor.getColumnIndex("W_FH")));
			obj.setW_FM(cursor.getString(cursor.getColumnIndex("W_FM")));
			obj.setW_MES(cursor.getString(cursor.getColumnIndex("W_MES")));
			obj.setW_DIA(cursor.getString(cursor.getColumnIndex("W_DIA")));
			obj.setW_MOTI(cursor.getString(cursor.getColumnIndex("W_MOTI")));
		}
		Cerrar();
		return obj;
	}

	@Override
	public List<RespuestaCensoWeb> leer() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int crear(RespuestaCensoWeb o) {
		int resultado = 0;
		db = util.getWritableDatabase();
		db.beginTransaction();
		ContentValues valores = new ContentValues();
		valores.put("respuesta_id", o.getRespuesta_id());
		valores.put("W_1", o.getW_1());
		valores.put("W_IH", o.getW_IH());
		valores.put("W_IM", o.getW_IM());
		valores.put("W_FH", o.getW_FH());
		valores.put("W_FM", o.getW_FM());
		valores.put("W_MES", o.getW_MES());
		valores.put("W_DIA", o.getW_DIA());
		valores.put("W_MOTI", o.getW_MOTI());

		resultado = (int) db.insert("RespuestaCensoWeb", null, valores);
		if (resultado > 0) {
			db.setTransactionSuccessful();
		}
		valores.clear();
		Cerrar();
		return resultado;
	}

	@Override
	public int eliminar(RespuestaCensoWeb o) {
		int resultado = 0;
		db = util.getWritableDatabase();
		db.beginTransaction();
		resultado = db.delete("RespuestaCensoWeb",
				"rpta_web_id=? and respuesta_id=?",
				new String[] { o.getRpta_web_id() + "",
						o.getRespuesta_id() + "" });
		if (resultado > 0) {
			db.setTransactionSuccessful();
		}
		Cerrar();
		return resultado;
	}

	@Override
	public int actualizar(RespuestaCensoWeb o) {
		int resultado = 0;
		db = util.getWritableDatabase();
		db.beginTransaction();
		ContentValues valores = new ContentValues();
		valores.put("W_1", o.getW_1());
		valores.put("W_IH", o.getW_IH());
		valores.put("W_IM", o.getW_IM());
		valores.put("W_FH", o.getW_FH());
		valores.put("W_FM", o.getW_FM());
		valores.put("W_MES", o.getW_MES());
		valores.put("W_DIA", o.getW_DIA());
		valores.put("W_MOTI", o.getW_MOTI());

		resultado = (int) db.update("RespuestaCensoWeb", valores,
				"rpta_web_id=? and respuesta_id=?",
				new String[] { o.getRpta_web_id() + "",
						o.getRespuesta_id() + "" });
		if (resultado > 0) {
			db.setTransactionSuccessful();
		}
		valores.clear();
		Cerrar();
		return resultado;
	}

	public List<RespuestaCensoWeb> leerXRespuestaId(int respuesta_id) {
		List<RespuestaCensoWeb> lista = null;
		db = util.getReadableDatabase();
		cursor = db
				.rawQuery(
						"select * from RespuestaCensoWeb where respuesta_id=? order by rpta_web_id",
						new String[] { respuesta_id + "" });
		if (cursor.moveToFirst()) {
			lista = new ArrayList<RespuestaCensoWeb>();
			while (!cursor.isAfterLast()) {
				RespuestaCensoWeb obj = new RespuestaCensoWeb();
				obj.setRpta_web_id(cursor.getInt(cursor
						.getColumnIndex("rpta_web_id")));
				obj.setRespuesta_id(cursor.getInt(cursor
						.getColumnIndex("respuesta_id")));
				obj.setW_1(cursor.getString(cursor.getColumnIndex("W_1")));
				obj.setW_IH(cursor.getString(cursor.getColumnIndex("W_IH")));
				obj.setW_IM(cursor.getString(cursor.getColumnIndex("W_IM")));
				obj.setW_FH(cursor.getString(cursor.getColumnIndex("W_FH")));
				obj.setW_FM(cursor.getString(cursor.getColumnIndex("W_FM")));
				obj.setW_MES(cursor.getString(cursor.getColumnIndex("W_MES")));
				obj.setW_DIA(cursor.getString(cursor.getColumnIndex("W_DIA")));
				obj.setW_MOTI(cursor.getString(cursor.getColumnIndex("W_MOTI")));
				lista.add(obj);
				cursor.moveToNext();
			}
		}
		Cerrar();
		return lista;
	}

	private void Cerrar() {
		if (cursor != null) {
			cursor.close();
		}
		if (db.inTransaction()) {
			db.endTransaction();
		}
		db.close();
	}
}
